feat: automate extensions local testing#75
Conversation
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
Signed-off-by: Niccolò Fei <niccolo.fei@enterprisedb.com>
Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
|
I have looked at the instructions in the I was able to create the environment, build and push the images, but when I tried to generate the values for Chainsaw, it failed. Maybe I am not running the proper command: $ task e2e:generate-values EXTENSION_IMAGE="localhost:5000/pgvector-testing:0.8.1-202601190453-18-trixie" TARGET=pgvector
task: Task "e2e:create-docker-network" is up to date
task: Task "e2e:start-container-registry" is up to date
task: [e2e:start-dagger-engine] docker run -d -v /var/lib/dagger --name dagger-engine-pg-extensions --restart always --network pg-extensions-e2e --privileged registry.dagger.io/engine:v0.19.8
[e2e:start-dagger-engine] 7ba8ecbbc26bf5d92837c8a7bf2b3808a794104e4e694b8f792437fd9aeab7a0
[prereqs] Checking prerequisites...
[prereqs] All prerequisites satisfied!
task: [generate-values] echo -e "\033[0;34mGenerating values for target pgvector...\033[0m"
[generate-values-pgvector] Generating values for target pgvector...
task: [generate-values] dagger call -sm ./dagger/maintenance/ generate-testing-values --target pgvector --extension-image="registry.pg-extensions:5000/pgvector-testing:0.8.1-202601190453-18-trixie" export --path pgvector/values.yaml
[generate-values-pgvector]
[generate-values-pgvector] Error: Get "https://registry.pg-extensions:5000/v2/": dial tcp: lookup registry.pg-extensions on 10.87.0.1:53: no such host; Get "http://registry.pg-extensions:5000/v2/": dial tcp: lookup registry.pg-extensions on 10.87.0.1:53: no such host [traceparent:6a563035a6e379eb34ddc16a8c66ab52-5d9c3c5bcc40cd24]
task: Failed to run task "e2e:generate-values": task: Failed to run task "generate-values": exit status 1In the meantime, I have reorganised the BUILD.md file a bit. |
Signed-off-by: Gabriele Fedi <gabriele.fedi@enterprisedb.com>
|
@gbartolini that was due to a missing definition of an env variable in the |
There was a problem hiding this comment.
tested latest fix and I'm able to generate testing data too
(⎈|kind-pg-extensions-1.34.2:N/A)➜ postgres-extensions-containers git:(dev/14) task e2e:generate-values EXTENSION_IMAGE="localhost:5000/pgvector-testing:0.8.1-202601191006-18-trixie" TARGET=pgvector
task: Task "e2e:create-docker-network" is up to date
task: Task "e2e:start-dagger-engine" is up to date
task: Task "e2e:start-container-registry" is up to date
[prereqs] Checking prerequisites...
[prereqs] All prerequisites satisfied!
task: [generate-values] echo -e "\033[0;34mGenerating values for target pgvector...\033[0m"
[generate-values-pgvector] Generating values for target pgvector...
task: [generate-values] dagger call -sm ./dagger/maintenance/ generate-testing-values --target pgvector --extension-image="registry.pg-extensions:5000/pgvector-testing:0.8.1-202601191006-18-trixie" export --path pgvector/values.yaml
[generate-values-pgvector]
[generate-values-pgvector] /Users/matteobiagetti/EnterpriseDB/postgres-extensions-containers/pgvector/values.yamlThen test with
task e2e:export-kubeconfig KUBECONFIG_PATH=./kubeconfig INTERNAL=truetask e2e:test TARGET=pgvector KUBECONFIG_PATH="./kubeconfig"Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
|
I have tried the whole process. While this is fine for now, I suggest that we create a single command that wraps the entire process for a single extension. It is quite cumbersome and error-prone to ask users to repeat the single steps (build, generate-values and test). Especially the generate values step is hard to understand if you are not familiar with the way Chainsaw works (like me). Ideally, a user would have a new extension or their own extension to test. They need to launch two commands:
I am mergin this intermediate patch. |
Add Dagger and Taskfile implementation to run Chainsaw e2e for extension images.
Closes #14